package ar.frba.utn.diseñosistemas.UI;

import org.uqbar.arena.actions.MessageSend;
import org.uqbar.arena.layout.HorizontalLayout;
import org.uqbar.arena.layout.VerticalLayout;
import org.uqbar.arena.widgets.Button;
import org.uqbar.arena.widgets.Label;
import org.uqbar.arena.widgets.Panel;
import org.uqbar.arena.windows.SimpleWindow;
import org.uqbar.arena.windows.WindowOwner;

import ar.frba.utn.diseñosistemas.TP2.Usuario;
import ar.frba.utn.diseñosistemas.ViewModels.AsientosListViewModel;
import ar.frba.utn.diseñosistemas.ViewModels.BuscadorViewModel;

public class HomeWindow extends SimpleWindow<Usuario> 
{	
	public HomeWindow(WindowOwner owner, Usuario model) 
	{
		super(owner, model);
		this.setTaskDescription("Panel de control");
	}

	@Override
	protected void addActions(Panel actionsPanel) 
	{
		new Button(actionsPanel).setCaption("Ver Compras")
								.onClick(new MessageSend(this, "abrirCompras"));
		new Button(actionsPanel).setCaption("Ver Reservas")
								.onClick(new MessageSend(this, "abrirReservas"));
		new Button(actionsPanel).setCaption("Buscar Asientos")
								.onClick(new MessageSend(this, "abrirBuscador"));
	}

	@Override
	protected void createFormPanel(Panel mainPanel) 
	{	
		this.setTitle("Aterrizar.com");
		
		mainPanel.setLayout(new VerticalLayout());
		
		Panel saludo = new Panel(mainPanel).setLayout(new HorizontalLayout());
		new Label(saludo).setText("Hola ");
		new Label(saludo).bindValueToProperty("nombreCompleto");
		
		new Label(mainPanel).setText("¿Que desea hacer?");
	}
	
	public void abrirCompras()
	{
		Usuario usuarioLogeado = this.getModelObject();
		
		AsientosListViewModel viewModel = new AsientosListViewModel("Compras de " + usuarioLogeado.getNombreCompleto(), usuarioLogeado.getAsientosComprados());
		new AsientosListDialog(this, viewModel).open();
	}
	
	public void abrirReservas()
	{
		Usuario usuarioLogeado = this.getModelObject();
		
		AsientosListViewModel viewModel = new AsientosListViewModel("Reservas de " + usuarioLogeado.getNombreCompleto(), usuarioLogeado.getAsientosReservados());
		new AsientosListDialog(this, viewModel).open();
	}
	
	public void abrirBuscador()
	{
		BuscadorViewModel viewModel = new BuscadorViewModel(); 
		new BuscarWindow(this, viewModel).open();
	}

}
